package cn.sharp.bbs.service;

import cn.sharp.bbs.entity.BO.TaskEntity;
import cn.sharp.bbs.event.*;

import java.util.List;

/**
 * @className: TaskService
 * @description: 积分任务相关服务类
 * @author: 王晓崧
 * @date: 2022/7/9
 **/
public interface TaskService {
    void createTask(TaskEntity task, Long u_id);

    List<String> getTaskTypeList();

    List<TaskEntity> getTaskList();

    List<TaskEntity> getRate(Long u_id);

    //登录事件
    void LoginRate(LoginEvent loginEvent);

    //评论事件
    void commentRate(CommentEvent commentEvent);

    //回复评论事件
    void replyRate(ReplyEvent replyEvent);

    //点赞评论事件
    void commentLikeRate(CommentLikeEvent commentLikeEvent);

    //点赞帖子事件
    void postLikeRate(PostLikeEvent postLikeEvent);

    //收藏事件
    void collectRate(CollectEvent collectEvent);

    //关注事件
    void followRate(FollowEvent followEvent);

    //关注帖子事件
    void postFollowRate(PostFollow postFollow);

    //浏览事件
    void browseRat(BrowseEvent browseEvent);

    //发帖事件
    void postCreateRate(PostCreateEvent postCreateEvent);

    //签到
    void signIn(Long u_id);

    boolean checkIsAdministrator(Long u_id);

    boolean checkIsSignIn(Long u_id);
}
